export const tabbarPages = {
  /** 职位 */
  position: "pages/tabbar/position/index",
  /** 小智 */
  robot: "pages/tabbar/robot/index",
  /** 聊天 */
  chat: "pages/tabbar/chat/index",
  /** 我的 */
  me: "pages/tabbar/me/index"
} as const

export type IAvailableTabbarPath = typeof tabbarPages[keyof typeof tabbarPages]

export const entryPagePath = tabbarPages.position

export const pageMapper = {
  me: {
    /** 个人信息 */
    info: "pages/me/info/index",
    /** 个人信息 - 引导 */
    infoguide: "pages/me/infoguide/index",
    /** 编辑手机号 */
    mobile: "pages/me/mobile/index",
    /** 编辑微信号 */
    wechat: "pages/me/wechat/index",
    resume: {
      /** 我的简历 - 导入/信息 */
      import: "pages/me/resume/import/index",
      /** 我的简历 - 求职意向 */
      extention: "pages/me/resume/extention/index",
      /** 我的简历 - 工作经历 */
      workexp: "pages/me/resume/workexp/index",
      /** 我的简历 - 项目经验 */
      projectexp: "pages/me/resume/projectexp/index",
      /** 我的简历 - 教育背景 */
      education: "pages/me/resume/education/index",
      /** 我的简历 - 上传附件简历 */
      upload: "pages/me/resume/upload/index",
    },
    /** 个人信息 - 我的应聘 */
    interviews: "pages/me/interviews/index"
  },
  select: {
    /** 选择城市 */
    city: "pages/select/city/index",
    /** 选择职位 */
    jobtype: "pages/select/jobtype/index",
    /** 选择行业 */
    industry: "pages/select/industry/index",
    /** 选择资格证书 */
    certificate: "pages/select/certificate/index"
  },
  fieldEdit: {
    /** 字段编辑 - 多行 */
    multiline: "pages/fieldedit/multiline/index",
    /** 字段编辑 - 单行 */
    simple: "pages/fieldedit/simple/index",
    /** 字段编辑 - 搜索 */
    search: "pages/fieldedit/search/index",
  },
  robot: {
    /** AI 求职配置 */
    setting: "pages/robot/setting/index",
    /** AI 知识库 */
    aiknowns: "pages/robot/aiknowns/index",
  },
  chat: {
    /** 聊天详情 */
    detail: "pages/chat/detail/index",
    /** 面试邀请 */
    interview: "pages/chat/interview/index"
  },
  position: {
    job: "pages/position/job/index",
    hr: "pages/position/hr/index",
    company: "pages/position/company/index",
  }
} as const

export type NormalPagePath = ExtractStringLeafValues<typeof pageMapper>

export type PagePath = IAvailableTabbarPath | NormalPagePath | (string & {})
